﻿// 104. 货仓选址.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <algorithm>
using namespace std;
/*
https://www.acwing.com/problem/content/description/106/
在一条数轴上有 N 家商店，它们的坐标分别为 A1∼AN。

现在需要在数轴上建立一家货仓，每天清晨，从货仓到每家商店都要运送一车商品。

为了提高效率，求把货仓建在何处，可以使得货仓到每家商店的距离之和最小。

输入格式
第一行输入整数 N。

第二行 N 个整数 A1∼AN。

输出格式
输出一个整数，表示距离之和的最小值。

数据范围
1≤N≤100000,
0≤Ai≤40000
输入样例：
4
6 2 9 1
输出样例：
12
*/
const int N = 100010;
int a[N];
int n;

int main() {
    cin >> n;
    for (int i = 0; i < n; i++) {
        cin >> a[i];
    }
    sort(&a[0], &a[0] + n);
    int mid = -1;
    if (n % 2 == 0) {
        mid = (a[n / 2] + a[n / 2 - 1]) / 2;
    }
    else {
        mid = a[n / 2];
    }
    long long ans = 0;
    for (int i = 0; i < n; i++) {
        ans += abs(mid - a[i]);
    }
    cout << ans << endl;

    return 0;
}